package cn.huiyunche.base.service.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class BProductCoefficientVo implements Serializable {

    private static final long serialVersionUID = -676550649104824812L;

    private Long id;

    //物流产品id
    private Long productId;

    //物流产品名称
    private String productName;

    //开始范围
    private BigDecimal beginRange = BigDecimal.ZERO;

    //截止范围
    private BigDecimal endRange = BigDecimal.ZERO;

    //价格系数
    private BigDecimal coefficient;

    //预计送达时间
    private Date endTime;

    //到达天数
    private Integer days;

    //最大达到天数
    private Integer maxDays;

    //公里/每天
    private Integer kmPerDay;

    //预计单辆车运费
    private BigDecimal unitPrice = BigDecimal.ZERO.setScale(2);

    //单辆车活动价
    private BigDecimal disUnitPrice = BigDecimal.ZERO.setScale(2);

    //预计整板运费
    private BigDecimal entirePrice = BigDecimal.ZERO.setScale(2);

    //整板活动价
    private BigDecimal disEntirePrice = BigDecimal.ZERO.setScale(2);

    //运距
    private BigDecimal distance = BigDecimal.ZERO.setScale(2);

    //是否是默认
    private boolean isDefault;

    //是否是加急
    private boolean isExpedited;

    //费用详情
    private List<SOrderFeeDetailVo> fees = new ArrayList<>();

    //活动信息
    private BActivityVo activity;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public BigDecimal getBeginRange() {
        return beginRange;
    }

    public void setBeginRange(BigDecimal beginRange) {
        this.beginRange = beginRange;
    }

    public BigDecimal getEndRange() {
        return endRange;
    }

    public void setEndRange(BigDecimal endRange) {
        this.endRange = endRange;
    }

    public BigDecimal getCoefficient() {
        return coefficient;
    }

    public void setCoefficient(BigDecimal coefficient) {
        this.coefficient = coefficient;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getDays() {
        return days;
    }

    public void setDays(Integer days) {
        this.days = days;
    }

    public Integer getMaxDays() {
        return maxDays;
    }

    public void setMaxDays(Integer maxDays) {
        this.maxDays = maxDays;
    }

    public Integer getKmPerDay() {
        return kmPerDay;
    }

    public void setKmPerDay(Integer kmPerDay) {
        this.kmPerDay = kmPerDay;
    }

    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getDisUnitPrice() {
        return disUnitPrice;
    }

    public void setDisUnitPrice(BigDecimal disUnitPrice) {
        this.disUnitPrice = disUnitPrice;
    }

    public BigDecimal getEntirePrice() {
        return entirePrice;
    }

    public void setEntirePrice(BigDecimal entirePrice) {
        this.entirePrice = entirePrice;
    }

    public BigDecimal getDisEntirePrice() {
        return disEntirePrice;
    }

    public void setDisEntirePrice(BigDecimal disEntirePrice) {
        this.disEntirePrice = disEntirePrice;
    }

    public BigDecimal getDistance() {
        return distance;
    }

    public void setDistance(BigDecimal distance) {
        this.distance = distance;
    }

    public boolean isDefault() {
        return isDefault;
    }

    public void setDefault(boolean isDefault) {
        this.isDefault = isDefault;
    }

    public boolean isExpedited() {
        return isExpedited;
    }

    public void setExpedited(boolean isExpedited) {
        this.isExpedited = isExpedited;
    }

    public List<SOrderFeeDetailVo> getFees() {
        return fees;
    }

    public void setFees(List<SOrderFeeDetailVo> fees) {
        this.fees = fees;
    }

    public BActivityVo getActivity() {
        return activity;
    }

    public void setActivity(BActivityVo activity) {
        this.activity = activity;
    }

    @Override
    public String toString() {
        return "BProductCoefficientVo [id=" + id + ", productId=" + productId + ", productName=" + productName
                + ", beginRange=" + beginRange + ", endRange=" + endRange + ", coefficient=" + coefficient
                + ", endTime=" + endTime + ", days=" + days + ", maxDays=" + maxDays + ", kmPerDay=" + kmPerDay
                + ", unitPrice=" + unitPrice + ", disUnitPrice=" + disUnitPrice + ", entirePrice=" + entirePrice
                + ", disEntirePrice=" + disEntirePrice + ", distance=" + distance + ", isDefault=" + isDefault
                + ", isExpedited=" + isExpedited + ", fees=" + fees + ", activity=" + activity + "]";
    }
}